package cn.xxliang.platapp.pojo.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
/*
 * 
 * 交互说明：必须先选择通信服务信息才能选择QoS产品信息，否则QoS产品信息不展示下拉框；
 * 
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("功能点信息Dto")
public class MenuPointInfoDto {
    @ApiModelProperty("主键ID")
    private String menuPointInfoId;

    @ApiModelProperty("功能点名称")
    private String menuPointName;

    @ApiModelProperty("功能点描述")
    private String menuPointDesc;

    @ApiModelProperty(value = "功能点状态 0-关闭 1-开启", allowableValues = "0,1",required = true)
    @NotNull(message = "功能点状态不能为空")
    @Size(min = 1, max = 1, message = "功能点状态必须是0或1")
    @Pattern(regexp = "[01]", message = "功能点状态必须是0或1")
    private Integer menuPointStatus;

    @ApiModelProperty(value = "功能点版本类型 0-内测版 1-正式版", allowableValues = "0,1",required = true)
    @NotNull(message = "功能点版本类型不能为空")
    @Size(min = 1, max = 1, message = "功能点版本类型必须是0或1")
    @Pattern(regexp = "[01]", message = "功能点版本类型必须是0或1")
    private Integer menuPointVersion;

    @ApiModelProperty(value = "删除标识 0-正常 1-删除", allowableValues = "0,1",required = true)
    @NotNull(message = "删除标识不能为空")
    @Size(min = 1, max = 1, message = "删除标识必须是0或1")
    @Pattern(regexp = "[01]", message = "删除标识必须是0或1")
    private Integer deleteFlag;

    @ApiModelProperty(value = "是否关键功能点 0-否 1-是", allowableValues = "0,1",required = true)
    @NotNull(message = "是否关键功能点不能为空")
    @Size(min = 1, max = 1, message = "是否关键功能点必须是0或1")
    @Pattern(regexp = "[01]", message = "是否关键功能点必须是0或1")
    private Integer mainFlag;


    @ApiModelProperty(value = "功能 ID,用于查找对应的通讯服务",required = true)
    @NotNull(message = "功能ID不能为空")
    private String menuId;

    @ApiModelProperty("创建时间")
    private String createTime;

    @ApiModelProperty("更新时间")
    private String updateTime;
}


